package com.ruoyi.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.business.domain.Notice;
import com.ruoyi.business.domain.bo.NoticeBo;
import com.ruoyi.business.domain.vo.NoticeVo;
import org.apache.ibatis.annotations.Param;

/**
 * @author 最爱喝兽奶
 * @create 2022/9/21
 **/
public interface NoticeMapper extends BaseMapper<Notice> {

    /**
     * 分页查询告示信息
     * @param buildPage
     * @param bo
     * @return
     */
    Page<NoticeVo> queryNoticeByPage(@Param("page") Page<NoticeBo> buildPage, @Param("bo") NoticeBo bo);

    /**
     * 查询当前数据库中最大的告示
     * @return
     */
    Integer selectMaxSort();

    /**
     * 根据当前传入的id，查询当前告示的下一条告示
     * @param notice
     * @return
     */
    Notice selectNextById(Notice notice);

    /**
     * 根据当前传入的sort，查询当前告示的上一条告示
     * @param notice
     * @return
     */
    Notice selectPreById(Notice notice);
}
